﻿using System;

namespace Smart.Model
{
	public interface IDestroySystem : ISystem
	{

	}

	public interface IDestroy
	{
		void Run(object o);
	}

	public abstract class DestroySystem<T> : IDestroy,IDestroySystem
	{
		public void Run(object o)
		{
			this.Destroy((T)o);
		}

		public Type Type()
		{
			return typeof(T);
		}

		public abstract void Destroy(T self);
	}
}
